Returns a new [[enet.host | host]]. All arguments are optional.

A bind_address of [[nil]] makes a [[enet.host | host]] that can not be connected to (typically a client). Otherwise the address can either be of the form <ipaddress>:<port>, <hostname>:<port>, or *:<port>.

Example addresses include "127.0.0.1:8888", "localhost:2232", and "*:6767". If port is 0, the system automatically chooses an ephemeral port and you can get port number by [[enet.host:get_socket_address|host:get_socket_address]]().
== Function ==
=== Synopsis ===
<source lang="lua">
host = enet.host_create(bind_address, peer_count, channel_count, in_bandwidth, out_bandwidth)
</source>

=== Arguments ===
{{param|string|bind_address|The address to connect to in the format "ip:port".}}
{{param|number|peer_count|The max number of peers. Defaults to 64.}}
{{param|number|channel_count|The max number of channels. Defaults to 1.}}
{{param|number|in_bandwidth|Downstream bandwidth in bytes/sec. Defaults to 0 (unlimited).}}
{{param|number|out_bandwidth|Upstream bandwidth in bytes/sec. Defaults to 0 (unlimited).}}
=== Returns ===
{{param|enet.host|host|The requested [[enet.host | host]].}}
== See Also ==
* [[parent::lua-enet]]
* [[enet.host]]
* [[enet.host:channel_limit]]
* [[enet.host:bandwidth_limit]]
== Other Languages ==
{{i18n|enet.host_create}}